<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libCZI: libCZI::IBitmapData Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libCZI
   </div>
   <div id="projectbrief">Reading CZI documents made easy</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classlib_c_z_i_1_1_i_bitmap_data.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classlib_c_z_i_1_1_i_bitmap_data-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">libCZI::IBitmapData Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="lib_c_z_i___pixels_8h_source.html">libCZI_Pixels.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a66f27266674d7f328dd5f1270b81a94e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacelib_c_z_i.html#abf8ce12ab88b06c8b3b47efbb5e2e834">PixelType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_bitmap_data.html#a66f27266674d7f328dd5f1270b81a94e">GetPixelType</a> () const =0</td></tr>
<tr class="separator:a66f27266674d7f328dd5f1270b81a94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af612716947147a55dcbbb245c3335ace"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structlib_c_z_i_1_1_int_size.html">IntSize</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_bitmap_data.html#af612716947147a55dcbbb245c3335ace">GetSize</a> () const =0</td></tr>
<tr class="separator:af612716947147a55dcbbb245c3335ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbdfc7266b37850cfb53d5106bfd4f44"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structlib_c_z_i_1_1_bitmap_lock_info.html">BitmapLockInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_bitmap_data.html#afbdfc7266b37850cfb53d5106bfd4f44">Lock</a> ()=0</td></tr>
<tr class="separator:afbdfc7266b37850cfb53d5106bfd4f44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a473c706c604fd687fb653bd06f0e0356"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_bitmap_data.html#a473c706c604fd687fb653bd06f0e0356">Unlock</a> ()=0</td></tr>
<tr class="separator:a473c706c604fd687fb653bd06f0e0356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2638991a88c736ff4e6c42dc4c6c5c7"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_bitmap_data.html#aa2638991a88c736ff4e6c42dc4c6c5c7">GetWidth</a> () const</td></tr>
<tr class="separator:aa2638991a88c736ff4e6c42dc4c6c5c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2072b5c8db493b7b19717811a96a6483"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_bitmap_data.html#a2072b5c8db493b7b19717811a96a6483">GetHeight</a> () const</td></tr>
<tr class="separator:a2072b5c8db493b7b19717811a96a6483"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This interface is used to represent a bitmap.</p>
<p>In order to access the pixel data, the Lock-method must be called. The information returned from the Lock-method is to be considered valid only until Unlock is called. If a bitmap is destroyed while it is locked, this is considered to be a fatal error. It is legal to call Lock multiple times, but the calls to Lock and Unlock must be balanced. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a2072b5c8db493b7b19717811a96a6483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2072b5c8db493b7b19717811a96a6483">&#9670;&nbsp;</a></span>GetHeight()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::uint32_t libCZI::IBitmapData::GetHeight </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets the height of the bitmap in pixels.</p>
<dl class="section return"><dt>Returns</dt><dd>The height in pixels </dd></dl>

</div>
</div>
<a id="a66f27266674d7f328dd5f1270b81a94e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66f27266674d7f328dd5f1270b81a94e">&#9670;&nbsp;</a></span>GetPixelType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespacelib_c_z_i.html#abf8ce12ab88b06c8b3b47efbb5e2e834">PixelType</a> libCZI::IBitmapData::GetPixelType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets pixel type.</p>
<dl class="section return"><dt>Returns</dt><dd>The pixel type. </dd></dl>

</div>
</div>
<a id="af612716947147a55dcbbb245c3335ace"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af612716947147a55dcbbb245c3335ace">&#9670;&nbsp;</a></span>GetSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structlib_c_z_i_1_1_int_size.html">IntSize</a> libCZI::IBitmapData::GetSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets the size of the bitmap (i. e. its width and height in pixels).</p>
<dl class="section return"><dt>Returns</dt><dd>The size (in pixels). </dd></dl>

</div>
</div>
<a id="aa2638991a88c736ff4e6c42dc4c6c5c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2638991a88c736ff4e6c42dc4c6c5c7">&#9670;&nbsp;</a></span>GetWidth()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::uint32_t libCZI::IBitmapData::GetWidth </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets the width of the bitmap in pixels.</p>
<dl class="section return"><dt>Returns</dt><dd>The width in pixels. </dd></dl>

</div>
</div>
<a id="afbdfc7266b37850cfb53d5106bfd4f44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbdfc7266b37850cfb53d5106bfd4f44">&#9670;&nbsp;</a></span>Lock()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structlib_c_z_i_1_1_bitmap_lock_info.html">BitmapLockInfo</a> libCZI::IBitmapData::Lock </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets a data structure allowing for direct access of the bitmap.</p>
<p>The <a class="el" href="structlib_c_z_i_1_1_bitmap_lock_info.html" title="Information about a locked bitmap - allowing direct access to the image data in memory. ">BitmapLockInfo</a> returned must only considered to be valid until Unlock is called. It is legal to call Lock multiple time (also from different threads concurrently). In any case, calls to Lock and Unlock must be balanced. It is considered to be a fatal error if the object is destroyed when it is locked.</p>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structlib_c_z_i_1_1_bitmap_lock_info.html" title="Information about a locked bitmap - allowing direct access to the image data in memory. ">BitmapLockInfo</a> allowing to directly access the data representing the bitmap. </dd></dl>

</div>
</div>
<a id="a473c706c604fd687fb653bd06f0e0356"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a473c706c604fd687fb653bd06f0e0356">&#9670;&nbsp;</a></span>Unlock()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void libCZI::IBitmapData::Unlock </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Inform the bitmap object that the data (previously retrieved by a call to Lock) is not longer used.</p>
<p>The <a class="el" href="structlib_c_z_i_1_1_bitmap_lock_info.html" title="Information about a locked bitmap - allowing direct access to the image data in memory. ">BitmapLockInfo</a> returned must only considered to be valid until Unlock is called. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>libCZI/<a class="el" href="lib_c_z_i___pixels_8h_source.html">libCZI_Pixels.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacelib_c_z_i.html">libCZI</a></li><li class="navelem"><a class="el" href="classlib_c_z_i_1_1_i_bitmap_data.html">IBitmapData</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>
